package com.clinic.service.impl;

import com.clinic.dao.ChargeDao;
import com.clinic.entity.Charge;
import com.clinic.service.ChargeService;
import com.clinic.vo.ChargeVo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * (Charge)表服务实现类
 *
 * @author makejava
 * @since 2020-11-12 15:55:10
 */
@Service("chargeService")
public class ChargeServiceImpl implements ChargeService {
    @Resource
    private ChargeDao chargeDao;

    /**
     * 通过ID查询单条数据
     *
     * @param cid 主键
     * @return 实例对象
     */
    @Override
    public Charge queryById(Integer cid) {
        return this.chargeDao.queryById(cid);
    }

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    @Override
    public List<Charge> queryAllByLimit(int offset, int limit) {
        return this.chargeDao.queryAllByLimit(offset, limit);
    }

    /**
     * 新增数据
     *
     * @param charge 实例对象
     * @return 实例对象
     */
    @Override
    public Charge insert(Charge charge) {
        this.chargeDao.insert(charge);
        return charge;
    }

    /**
     * 修改数据
     *
     * @param charge 实例对象
     * @return 实例对象
     */
    @Override
    public Charge update(Charge charge) {
        this.chargeDao.update(charge);
        return this.queryById(charge.getCid());
    }

    /**
     * 通过主键删除数据
     *
     * @param cid 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer cid) {
        return this.chargeDao.deleteById(cid) > 0;
    }



    //1.根据支付状态查询
    @Override
    public List<Charge> findAll() {
        List<Charge> list = chargeDao.findAll();
        return list;
    }

    //2.根据id来删除
    @Override
    public int delete(int cid) {
        int count = chargeDao.delete(cid);
        return count;
    }

    //*3      */
    @Override
    public Charge selectById(int cid) {
        Charge charge = chargeDao.selectById(cid);

        return charge;
    }

    //4
    @Override
    public List<ChargeVo> findAllCharge(int pid) {
        List<ChargeVo> allCharge = chargeDao.findAllCharge(pid);
        return allCharge;
    }

    //5.
    @Override
    public int updateByCid(Charge charge) {
        int count = chargeDao.updateByCid(charge);
        return count;
    }
}